1. Field of the Invention
The present invention relates to a packet data flow control method and device for a network comprising one or a plurality of packet exchanges that respectively accommodate a plurality of communication terminals in which point-to-multipoint communication or point-to-point communication is performed, and more specifically relates to a packet data flow control method and device whereby communication can be effectively implemented by narrowing of transmission bandwidth or drops in the transmission rate caused by local congestion by means of buffers provided in the packet exchanges.
2. Description of the Related Art
With development of an "information society", networking of communications continues in progress and LANs (Local Area Networks), of which examples are Ethernets or FDDIs (Fibre Distributed Data Interfaces) are becoming commonplace. Such conventional LANs efficiently implemented simultaneous transmission or multicast transmission, which are important for CL (Connectionless) communication, by taking advantage of the feature of shared media.
On the other hand, in recent years, ATM (Asynchronous Transfer Mode) has attracted attention as a system for implementing multimedia communication, and methods are being studied of implementing the CL communication on a network constructed in ATM.
However, ATM is basically a connection type communication system in which communication is performed after negotiation with the remote party and unlike the conventional shared media type LAN it is difficult to implement multicast transmission or simultaneous transmission.
In particular, in the ABR (Available Bit Rate) service that is recently being studied by the ARM forum which is a de facto standard organisation, the packet data flow control is even more difficult. This is because in the ABR service, with the object of increasing reliability, packet data flow control is performed between a sending terminal constituting the root of point-to-multipoint connection (hereinbelow referred to as pump connection) and the receiving terminals constituting the leaves.
FIG. 7 is a diagram given in explanation of packet data flow control relating to an ABR service that is currently being studied by the ATM forum, showing an operation image in an ATM network when packet data flow control represented by ABR is performed.
FIG. 7 assumes that the connection is a point-to-point connection (hereinbelow called a p-p connection) and that the flow control is implemented in accordance with a congestion indication from a terminal where congestion has occurred. Terminals 10-1, 10-2 in this network may be considered as repeaters for connection to networks other than ATM.
In FIG. 7, a sending terminal 10-1 effects communication with a destination terminal 10-2 by setting up a p-p connection through the network connecting a plurality of ATM exchanges 20-1, 20-2, 20-3. When sending terminal 10-1 has data that it wishes to send to destination terminal 10-2, it converts the data to the form of cell (data cell) and sends the data cell to destination terminal 10-2 and also sends on the same connection a congestion notification cell 50 (see FIG. 9), to be described, at intervals of a prescribed number of cells that is determined at the time of connection set-up.
These congestion notification cells 50, just like the data cells are sent to destination terminal 10-2 via ATM exchanges 20-1, 20-2, 20-3 and are then returned by the destination terminal 10-2 so that they are finally sent back to sending terminal 10-1. That is, congestion notification cells 50 flow in a loop.
Any ATM exchange 20-1, 20-2, 20-3 or destination terminal 10-2 that is on the way to receive the congestion notification cell 50, if it is in an overloaded condition, sets the congestion indication bit (CI bit) of the incoming circulating congestion notification cell 50. And if it is in normally-loaded condition it transfers the congestion notification cell as it is without modification.
If congestion is indicated by the congestion notification bit of a received congestion notification cell 50, sending terminal 10-1 lowers the transmission rate by a prescribed amount and, if congestion is not indicated, raises the transmission rate by a prescribed amount within the bit rate range specified at the time of the connection set-up.
In the example of FIG. 7, congestion occurs at ATM exchange 20-2 and as a result the congestion notification bit is set at ATM exchange 20-2 (i.e. CI is made=1), thereby notifying sending terminal 10-1 of the congestion.
FIG. 8 shows another example of flow control typified by ABR in an ATM network. While in the network of FIG. 7, the transmission rate is controlled in accordance with a congestion indication from the terminal where congestion occurred, in the network of FIG. 8, the terminal where congestion was generated is made to explicitly indicate its allowable transmission bandwidth and the transmission rate is controlled in accordance with the explicitly indicated allowable transmission bandwidth.
In the network of FIG. 8, any ATM exchange 20-1, 20-2, 20-3 or destination terminal 10-2 that is on the way to receive the congestion notification cell 50, if it is in normally loaded condition, transfers the congestion notification cell 50 as it is without modification and, if it is in overloaded condition, records explicitly the allowable transmission bandwidth that it is capable of receiving (i.e. the Explicit Rate: ER) in the incoming circulating congestion notification cell 50 before returning it to sending terminal 10-1.
Also, in the same network, as another method of explicitly indicating the allowable transmission bandwidth, it may be so arranged that any ATM exchange 20-1, 20-2, 20-3 or destination terminal 10-2 that is on the path within the network itself issues a congestion notification cell 50 as a backward explicit congestion notification cell (BECN) and sends this in the direction of the sending terminal.
If an allowable transmission bandwidth is indicated by a received congestion notification cell 50, sending terminal 10-1 lowers the transmission rate to this explicitly indicated transmission rate and, if congestion is not indicated, raises the transmission rate by a prescribed amount within the range of the peak transmission rate specified at the time of connection set-up
In the example of FIG. 8, congestion occurs at ATM exchange 20-2 as a result of which the congestion indicating bit is set by ATM exchange 20-2 (CI=1) and the allowable transmission bandwidth is set to (ER=xx) and sending terminal 10-1 is thereby notified of congestion. It should be noted that, in the example shown in this Figure, if a backward explicit congestion notification cell as mentioned above is employed, a flag to indicate that the cell in question is such a cell is set (BECN=1) so as to make it possible to identify these cells.
FIG. 9 shows the format of the congestion notification cell 50 used in the congestion control discussed above. Congestion notification cell 50 comprises at least ATM cell header 501, protocol ID field 502, DIR field 503 that indicates the direction of flow of the cell (towards the destination terminal or towards the sending terminal), BN field 504 that indicates whether the cell is a backward explicit congestion notification cell or not, CI field 505 that gives the congestion indication, ER field 507 for explicitly indicating allowable bandwidth, and CCR field 508 for indicating the current transmission rate. The Res. fields 506, 509 provided in addition to these in the above format serve as reserves. However, a value is not necessarily set in the ER field 507 but this is employed if a terminal 10 or ATM 20 where congestion has occurred wishes to suddenly lower the transmission rate.
In the ATM cell header 504 is entered a VCI (Virtual Channel Identifier) value or PTI (Payload Type Indication) value indicating that the cell is a resource management cell (RM cell) for OAM (Operation Administration and Management) such as congestion notification. Protocol ID field 502 indicates that the cell in question is a congestion notification cell in the RM cell.
However, in the conventional p-p connection described above, there are the following problems.
Specifically, in the case where sending terminal 10-1 can only send data sequentially, if the transmission rate of the data that is to be sent first i.e. of the data at the front of the sending buffer, not shown, of sending terminal 10-1 is reduced due to congestion of the connection, data behind this sending buffer which is in a different connection will also be delayed. That is, transmission delays due to congestion of some connections will affect the transmission delays of all the data of sending terminal 10-1.
The above was an example of packet data flow control of an ABR connection in a p-p connection. In this example, it is sufficient to take notice of a single destination terminal from the sending terminal. However, in the packet data flow control of ABR connections in a p-mp connection, this becomes complicated due to communication being performed with the sending terminal being aware of a plurality of destination terminals.
FIG. 10 shows an example of conventional packet data flow control of ABR connections in a p-mp connection.
In FIG. 10, packet data is sent from sending terminal 10-1 to a plurality of destination terminals 10-2, 10-3, 10-4 and 10-5. The ATM exchanges 20-1, 20-2, 20-3, 20-4, 20-5, 206 and the destination terminals 10-2, 10-3, 10-4, 10-5 overwrite their traffic information such as allowable transmission bandwidths into congestion notification cells 50 that are periodically sent by sending terminal 10-1 and these congestion notification cells 50 are returned upstream at destination terminals 10-2, 10-3, 10-4, 10-5. With the above described procedure, packet data flow control of an ABR connection in a p-mp connection is achieved. The circulation path of congestion notification cells 50 is called the flow control loop.
In this flow control loop, the ATM exchanges 20-2, 20-3 located at the branch points of the connection, copy the congestion notification cells 50 from upstream (from sending terminal 10-1) and transmit them to downstream. Also, the ATM exchanges 20-2, 20-3 pick up the cells having the worst value as regards allowable transmission bandwidth from the incoming congestion notification cells 50 collected from downstream, and this worst value is returned upstream.
At this point, as shown in example in this Figure, it is assumed that congestion occurs at destination terminal 10-4. Under these circumstances, of the congestion notification cells 50 received from downstream by ATM exchange 20-3, the allowable transmission bandwidth of congestion notification cells 50 from destination terminal 10-4 shows the worst value. Therefore, ATM exchange 20-3 sends this value upstream.
Sending terminal 10-1 that constitutes the root of the p-mp connection learns the congestion condition from these congestion notification cells 50 and reduces the bandwidth of subsequent transmission so that the congestion condition of destination terminal 10-4 is relieved.
In this case, the transmission bandwidth reduction that is performed by sending terminal 10-1 extends to all of terminals 10-2, 10-3, 10-5 apart from terminal 10-4. However, since the congestion notification cells 50 at these terminals 10-2, 10-3, 10-5 do not show the worst value, these terminals have at this time-point some degree of margin regarding the allowable transmission bandwidth. Therefore, transmission bandwidth reduction is not necessary for these terminals.
In the conventional packed data control, due to the reduction of bandwidth at the sending terminal, in spite of the fact that the transmission bandwidths of all the destination terminals or links other than the destination terminal or link that is in a congested condition are in normal condition, they are unnecessarily reduced. As a result, the other terminals, which still have some degree of margin, are subjected to reduction on usable bandwidth so that efficiency in use of the communication channels was lowered.
As discussed above, the conventional packet data flow control of a p-mp connection was so arranged that the congestion notification cells were circulated in loop fashion between the sending terminal and destination terminals, and the exchanges provided in the circulation route notified the worst value of the congestion indications or allowable transmission bandwidths notified from all the downstream destination terminals to the upstream side. Therefore, in the case where some terminals were still not congested and still had some margin in regard to allowable transmission bandwidth, there was the drawback that, as a result of the reduction on allowable transmission bandwidth that was reported by the terminal whose allowable transmission bandwidth margin was least being imposed, even the other terminals that had some degree of margin were subjected to reduction in regard to usable bandwidth, so the efficiency of use of the communication channels fell considerably.